minus(x, x) → 0
minus(s(x), s(y)) → minus(x, y)
minus(0, x) → 0
minus(x, 0) → x
div(s(x), s(y)) → s(div(minus(x, y), s(y)))
div(0, s(y)) → 0
f(x, 0, b) → x
f(x, s(y), b) → div(f(x, minus(s(y), s(0)), b), b)
↳ QTRS
↳ Overlay + Local Confluence
minus(x, x) → 0
minus(s(x), s(y)) → minus(x, y)
minus(0, x) → 0
minus(x, 0) → x
div(s(x), s(y)) → s(div(minus(x, y), s(y)))
div(0, s(y)) → 0
f(x, 0, b) → x
f(x, s(y), b) → div(f(x, minus(s(y), s(0)), b), b)
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
minus(x, x) → 0
minus(s(x), s(y)) → minus(x, y)
minus(0, x) → 0
minus(x, 0) → x
div(s(x), s(y)) → s(div(minus(x, y), s(y)))
div(0, s(y)) → 0
f(x, 0, b) → x
f(x, s(y), b) → div(f(x, minus(s(y), s(0)), b), b)
minus(x0, x0)
minus(s(x0), s(x1))
minus(0, x0)
minus(x0, 0)
div(s(x0), s(x1))
div(0, s(x0))
f(x0, 0, x1)
f(x0, s(x1), x2)
DIV(s(x), s(y)) → DIV(minus(x, y), s(y))
MINUS(s(x), s(y)) → MINUS(x, y)
F(x, s(y), b) → MINUS(s(y), s(0))
F(x, s(y), b) → F(x, minus(s(y), s(0)), b)
DIV(s(x), s(y)) → MINUS(x, y)
F(x, s(y), b) → DIV(f(x, minus(s(y), s(0)), b), b)
minus(x, x) → 0
minus(s(x), s(y)) → minus(x, y)
minus(0, x) → 0
minus(x, 0) → x
div(s(x), s(y)) → s(div(minus(x, y), s(y)))
div(0, s(y)) → 0
f(x, 0, b) → x
f(x, s(y), b) → div(f(x, minus(s(y), s(0)), b), b)
minus(x0, x0)
minus(s(x0), s(x1))
minus(0, x0)
minus(x0, 0)
div(s(x0), s(x1))
div(0, s(x0))
f(x0, 0, x1)
f(x0, s(x1), x2)
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
DIV(s(x), s(y)) → DIV(minus(x, y), s(y))
MINUS(s(x), s(y)) → MINUS(x, y)
F(x, s(y), b) → MINUS(s(y), s(0))
F(x, s(y), b) → F(x, minus(s(y), s(0)), b)
DIV(s(x), s(y)) → MINUS(x, y)
F(x, s(y), b) → DIV(f(x, minus(s(y), s(0)), b), b)
minus(x, x) → 0
minus(s(x), s(y)) → minus(x, y)
minus(0, x) → 0
minus(x, 0) → x
div(s(x), s(y)) → s(div(minus(x, y), s(y)))
div(0, s(y)) → 0
f(x, 0, b) → x
f(x, s(y), b) → div(f(x, minus(s(y), s(0)), b), b)
minus(x0, x0)
minus(s(x0), s(x1))
minus(0, x0)
minus(x0, 0)
div(s(x0), s(x1))
div(0, s(x0))
f(x0, 0, x1)
f(x0, s(x1), x2)
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QDP
MINUS(s(x), s(y)) → MINUS(x, y)
minus(x, x) → 0
minus(s(x), s(y)) → minus(x, y)
minus(0, x) → 0
minus(x, 0) → x
div(s(x), s(y)) → s(div(minus(x, y), s(y)))
div(0, s(y)) → 0
f(x, 0, b) → x
f(x, s(y), b) → div(f(x, minus(s(y), s(0)), b), b)
minus(x0, x0)
minus(s(x0), s(x1))
minus(0, x0)
minus(x0, 0)
div(s(x0), s(x1))
div(0, s(x0))
f(x0, 0, x1)
f(x0, s(x1), x2)
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ QDP
MINUS(s(x), s(y)) → MINUS(x, y)
minus(x0, x0)
minus(s(x0), s(x1))
minus(0, x0)
minus(x0, 0)
div(s(x0), s(x1))
div(0, s(x0))
f(x0, 0, x1)
f(x0, s(x1), x2)
minus(x0, x0)
minus(s(x0), s(x1))
minus(0, x0)
minus(x0, 0)
div(s(x0), s(x1))
div(0, s(x0))
f(x0, 0, x1)
f(x0, s(x1), x2)
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ QDPSizeChangeProof
↳ QDP
↳ QDP
MINUS(s(x), s(y)) → MINUS(x, y)
From the DPs we obtained the following set of size-change graphs:
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
DIV(s(x), s(y)) → DIV(minus(x, y), s(y))
minus(x, x) → 0
minus(s(x), s(y)) → minus(x, y)
minus(0, x) → 0
minus(x, 0) → x
div(s(x), s(y)) → s(div(minus(x, y), s(y)))
div(0, s(y)) → 0
f(x, 0, b) → x
f(x, s(y), b) → div(f(x, minus(s(y), s(0)), b), b)
minus(x0, x0)
minus(s(x0), s(x1))
minus(0, x0)
minus(x0, 0)
div(s(x0), s(x1))
div(0, s(x0))
f(x0, 0, x1)
f(x0, s(x1), x2)
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
DIV(s(x), s(y)) → DIV(minus(x, y), s(y))
minus(x, x) → 0
minus(s(x), s(y)) → minus(x, y)
minus(0, x) → 0
minus(x, 0) → x
minus(x0, x0)
minus(s(x0), s(x1))
minus(0, x0)
minus(x0, 0)
div(s(x0), s(x1))
div(0, s(x0))
f(x0, 0, x1)
f(x0, s(x1), x2)
div(s(x0), s(x1))
div(0, s(x0))
f(x0, 0, x1)
f(x0, s(x1), x2)
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ QDPOrderProof
↳ QDP
DIV(s(x), s(y)) → DIV(minus(x, y), s(y))
minus(x, x) → 0
minus(s(x), s(y)) → minus(x, y)
minus(0, x) → 0
minus(x, 0) → x
minus(x0, x0)
minus(s(x0), s(x1))
minus(0, x0)
minus(x0, 0)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
DIV(s(x), s(y)) → DIV(minus(x, y), s(y))
POL(0) = 0
POL(DIV(x1, x2)) = x1
POL(minus(x1, x2)) = x1
POL(s(x1)) = 1 + x1
minus(0, x) → 0
minus(x, 0) → x
minus(x, x) → 0
minus(s(x), s(y)) → minus(x, y)
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ PisEmptyProof
↳ QDP
minus(x, x) → 0
minus(s(x), s(y)) → minus(x, y)
minus(0, x) → 0
minus(x, 0) → x
minus(x0, x0)
minus(s(x0), s(x1))
minus(0, x0)
minus(x0, 0)
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
F(x, s(y), b) → F(x, minus(s(y), s(0)), b)
minus(x, x) → 0
minus(s(x), s(y)) → minus(x, y)
minus(0, x) → 0
minus(x, 0) → x
div(s(x), s(y)) → s(div(minus(x, y), s(y)))
div(0, s(y)) → 0
f(x, 0, b) → x
f(x, s(y), b) → div(f(x, minus(s(y), s(0)), b), b)
minus(x0, x0)
minus(s(x0), s(x1))
minus(0, x0)
minus(x0, 0)
div(s(x0), s(x1))
div(0, s(x0))
f(x0, 0, x1)
f(x0, s(x1), x2)
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
F(x, s(y), b) → F(x, minus(s(y), s(0)), b)
minus(x, x) → 0
minus(s(x), s(y)) → minus(x, y)
minus(0, x) → 0
minus(x, 0) → x
minus(x0, x0)
minus(s(x0), s(x1))
minus(0, x0)
minus(x0, 0)
div(s(x0), s(x1))
div(0, s(x0))
f(x0, 0, x1)
f(x0, s(x1), x2)
div(s(x0), s(x1))
div(0, s(x0))
f(x0, 0, x1)
f(x0, s(x1), x2)
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
F(x, s(y), b) → F(x, minus(s(y), s(0)), b)
minus(x, x) → 0
minus(s(x), s(y)) → minus(x, y)
minus(0, x) → 0
minus(x, 0) → x
minus(x0, x0)
minus(s(x0), s(x1))
minus(0, x0)
minus(x0, 0)
F(y0, s(x0), y2) → F(y0, minus(x0, 0), y2)
F(y0, s(0), y2) → F(y0, 0, y2)
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
F(y0, s(x0), y2) → F(y0, minus(x0, 0), y2)
F(y0, s(0), y2) → F(y0, 0, y2)
minus(x, x) → 0
minus(s(x), s(y)) → minus(x, y)
minus(0, x) → 0
minus(x, 0) → x
minus(x0, x0)
minus(s(x0), s(x1))
minus(0, x0)
minus(x0, 0)
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
F(y0, s(x0), y2) → F(y0, minus(x0, 0), y2)
minus(x, x) → 0
minus(s(x), s(y)) → minus(x, y)
minus(0, x) → 0
minus(x, 0) → x
minus(x0, x0)
minus(s(x0), s(x1))
minus(0, x0)
minus(x0, 0)
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
F(y0, s(x0), y2) → F(y0, minus(x0, 0), y2)
minus(x, x) → 0
minus(0, x) → 0
minus(x, 0) → x
minus(x0, x0)
minus(s(x0), s(x1))
minus(0, x0)
minus(x0, 0)
F(y0, s(x0), y2) → F(y0, x0, y2)
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
F(y0, s(x0), y2) → F(y0, x0, y2)
minus(x, x) → 0
minus(0, x) → 0
minus(x, 0) → x
minus(x0, x0)
minus(s(x0), s(x1))
minus(0, x0)
minus(x0, 0)
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
F(y0, s(x0), y2) → F(y0, x0, y2)
minus(x0, x0)
minus(s(x0), s(x1))
minus(0, x0)
minus(x0, 0)
minus(x0, x0)
minus(s(x0), s(x1))
minus(0, x0)
minus(x0, 0)
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ ForwardInstantiation
F(y0, s(x0), y2) → F(y0, x0, y2)
F(x0, s(s(y_1)), x2) → F(x0, s(y_1), x2)
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ QDPSizeChangeProof
F(x0, s(s(y_1)), x2) → F(x0, s(y_1), x2)
From the DPs we obtained the following set of size-change graphs: